/**
 * 封装单个病例详情的 Mock 数据
 * @param {string} patientId 患者ID
 * @param {string} recordId 病例记录ID
 */
const getCaseDetailMockData = (patientId, recordId) => {
    // 实际业务中，根据 patientId 和 recordId 调用 API 获取详细数据
    const mockData = {
      recordId: recordId,
      // 串联患者信息
      patientInfo: { 
          id: patientId,
          name: '李思涵',
          age: 25,
      },
      doctor: '魏医生',
      project: '隐适美复诊 (15/40)',
      date: '2025-11-20 14:00',
      diagnosis: '矫治进度正常，上颌 1/4 牙套佩戴时间需增加。右下 6 号附件脱落，已重新粘接。',
      content: `
        本次更换了新的牙套序列（15/40），
        检查了附件粘接情况，
        发现右下 6 号附件脱落，已重新粘接。
        牙龈轻微红肿，嘱咐加强清洁。
        本次就诊耗时约 45 分钟。
      `.trim(), // 使用 trim() 清除多余空白行
      advice: '1. 保持每天佩戴时间大于 22 小时；2. 每天使用牙线，并使用漱口水；3. 下次复诊时间定于 2025-12-26。',
      fee: 120.00,
      status: '已完成',
      statusClass: 'finish', // 状态样式类
      images: [
        'https://picsum.photos/seed/case1/400/300', // 使用不同 seed 模拟不同图片
        'https://picsum.photos/seed/case2/400/300',
        'https://picsum.photos/seed/case3/400/300',
      ],
    };
    
    // 模拟草稿状态
    if (recordId === 'REC0010') {
      mockData.status = '草稿';
      mockData.statusClass = 'draft';
      mockData.project = '托槽设计初稿（未完成）';
      mockData.images = []; // 草稿可能没有图片
    }
    return mockData;
  };
  
  Page({
    data: {
      caseData: {},
    },
  
    onLoad(options) {
      const patientId = options.patientId || 'P00123'; 
      const recordId = options.recordId || 'REC0015'; 
      this.fetchCaseDetail(patientId, recordId);
    },
  
    /**
     * 模拟数据加载函数
     */
    fetchCaseDetail(patientId, recordId) {
      // 实际业务中：wx.showLoading(); 
      // api.getCaseDetail(patientId, recordId).then(...)
      const data = getCaseDetailMockData(patientId, recordId);
      this.setData({ caseData: data });
      // wx.hideLoading();
    },
  
    /**
     * 预览影像
     */
    previewImage(e) {
      const current = e.currentTarget.dataset.src;
      wx.previewImage({
        current: current,
        urls: this.data.caseData.images
      });
    },
  
    /**
     * 编辑记录 (跳转到编辑页)
     */
    editRecord() {
      wx.showModal({
        title: '跳转编辑',
        content: `是否跳转到诊疗记录编辑页面？ (ID: ${this.data.caseData.recordId})`,
        success: (res) => {
          if (res.confirm) {
            // 实际跳转逻辑
            wx.navigateTo({ url: `/pages/doctor/treatment-record/treatment-record?recordId=${this.data.caseData.recordId}&edit=true` });
            wx.showToast({ title: '跳转到编辑页...', icon: 'none' });
          }
        }
      });
    },
  
    /**
     * 归档/锁定记录
     */
    archiveRecord() {
      if (this.data.caseData.status === '已完成') {
        wx.showToast({ title: '记录已完成，无需再次归档', icon: 'none' });
        return;
      }
  
      wx.showModal({
        title: '归档记录',
        content: '归档后记录将不可修改。确认归档吗？',
        success: (res) => {
          if (res.confirm) {
            // 实际业务：调用 API 锁定记录
            this.setData({
              'caseData.status': '已完成',
              'caseData.statusClass': 'finish'
            });
            wx.showToast({ title: '已成功归档', icon: 'success' });
          }
        }
      });
    },
  
    /**
     * 导出/打印
     */
    exportCase() {
      wx.showToast({ title: '正在生成电子病历 PDF...', icon: 'none' });
      // 实际业务：调用接口生成 PDF 或调用打印 API
    },
  });